package com.alibaba.shopping_common.service;

import com.alibaba.shopping_common.pojo.Orders;
import com.alibaba.shopping_common.pojo.SeckillGoods;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
 * 秒杀服务
 */
public interface SeckillService {

    /**
     * 前台查询秒杀商品
     * @param page
     * @param size
     * @return
     */
    Page<SeckillGoods>findPageByRedis(int page,int size);

    /**
     * 通过ID查询商品
     * @param goodsId 秒杀商品对应的商品Id
     * @return
     */
    SeckillGoods findSeckillGoodsByRedis(Long goodsId);

    /**
     * 创建订单
     * @param orders
     * @return
     */
    Orders createOrder(Orders orders);

    /**
     * 支付秒杀订单
     * @param id
     * @return
     */
    Orders findOrders(String id);

    /**
     * 支付秒杀订单
     * @param orderId
     * @return
     */
    Orders pay(String orderId);


    /**
     * 向Redis中添加秒杀商品数据
     * @param seckillGoods
     */
    void addRedisSeckillGoods(SeckillGoods seckillGoods);

    /**
     * 根据商品ID查询秒杀商品
     * @param goodsId
     * @return
     */
    SeckillGoods findSeckillGoodsByMySql(Long goodsId);
}
